Method for influencing source data for determining a route in a navigation system

ABSTRACT

A method for manipulating source data to determine a route from a predetermined starting point to a predetermined destination for a means of conveyance, in particular for a motor vehicle, airplane or ship, based on a digital database that includes predetermined route segments k i  with correspondingly assigned nodes n i  that interconnect respective route segments k i , where respective weights g i  are assigned to the route segments k i  and/or the nodes n i . The weights g i  are varied, as a function of external events, before a route finding algorithm determines the route.

This application is a 371 of PCT/DE99/01221 Apr. 23, 1999.

FIELD OF THE INVENTION

The present invention relates to a method for manipulating source datato determine a route from a predetermined starting point to apredetermined destination for a means of conveyance, in particular for amotor vehicle, airplane, or ship, based on a digital database thatincludes predetermined route segments k_(i) with correspondinglyassigned nodes n_(i) that interconnect predetermined route segmentsk_(i), where respective weights g_(i) are assigned to the route segmentsk_(i) and/or the nodes n_(i).

BACKGROUND INFORMATION

Navigation systems, such as those based on GPS (Global PositioningSystem), help the driver of a means of conveyance to navigate a route toa predetermined destination. The navigation system selects an optimumpath, i.e., route, at least on the basis of starting and destinationcoordinates and a corresponding digital database that is largely arepresentation of the real road grid. However, when a navigation systemdetermines routes autonomously, existing navigation systems are partlyor entirely unable to take into account real traffic events, such astraffic jams in a specific route segment.

SUMMARY OF THE INVENTION

The object of the present invention is to provide an improved method ofthe type mentioned in the preamble which eliminates the above-mentioneddisadvantages and suitably converts the effects of such traffic eventsin a real traffic situation to a digital map.

According to the present invention, this is accomplished in that weightsg_(i) are varied, as a function of external events, before a routefinding algorithm determines the route.

The advantage of this is that, particularly when determining an optimumroute using a route finding algorithm, the alternative routes obtainedafter manipulating the existing digital map pay particularly closeattention to the underlying, real traffic situation.

To achieve optimum routing, the route finding algorithm determines theroute in a way that minimizes the sum of weights g_(i).

In one preferred embodiment of the method, weight g_(i) is a lengthl_(i) of a route segment k_(i), a travel time t_(ki) of a route segmentk_(i), and/or a waiting time t_(ni) at a node n_(i). A node can be, forexample, a border crossing or a tollgate, and the waiting time refers tothe respective processing time.

A data source suitably supplies data to vary weights g_(i) that areprocessed in a data sink. The data source can be, for example, a trafficreport receiver, an event data bank, and/or a data bank for mappingtraffic reports to the database, and the data sink can be, for example,a traffic report data-processing software program in a navigationcomputer of the navigation system.

To vary the weights according to events, the external events areclassified for predetermined weight variations by the data source and/orthe data sink.

In one preferred embodiment, weight g_(i) is a travel time t_(ki) ofroute segment k_(i), where a varied weight t_(ki) ^(new) is obtainedaccording to the following equation:${t_{k_{i}}^{new} = {\frac{l_{k_{i}}}{V( k_{i} )} \cdot \frac{100}{\Delta \quad V_{c}}}},$

where V(k_(i)) is an assumed velocity for route segment k_(i), andDV_(c) is a variation in route segment velocity caused by an externalevent.

In an alternative, preferred embodiment, weight g_(i) is a travel timet_(ki) of route segment k_(i), where the database has a hierarchicallayout, and a varied weight t_(ki) ^(new) is obtained according to thefollowing equation:$t_{k_{i}}^{new} = {{t_{k_{i}}^{{new}{(1)}} - t_{k_{i}}^{{new}{(2)}}} = {( {\frac{l_{k_{i}}}{V( k_{i} )} \cdot \frac{100}{\Delta \quad V_{c}} \cdot \frac{\Delta \quad l_{levelj}}{100}} ) + ( {\frac{l_{k_{i}}}{V( k_{i} )} \cdot ( {1 - \frac{\Delta \quad l_{levelj}}{100}} )} )}}$

where V(k_(i)) is an assumed velocity for route segment k_(i), DV_(c) isa variation in route segment velocity caused by an external event, andD|_(Level j) is the length percentage of overall edge length designatingthe proportionate manipulation on a generalization level j of thehierarchical database.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic representation of a digital database formapping a real road grid.

FIG. 2 shows a table containing the assignments of route segments, i.e.,edges, and segment or edge weights of the digital database.

FIG. 3 shows a sample route for a motor vehicle based on the digitaldatabase, where travel times are assigned as edge weights.

FIG. 4 shows a schematic representation of a hierarchical digitaldatabase layout.

FIG. 5 shows a table containing the classification of traffic events.

FIG. 6 shows a sample route for a motor vehicle based on the digitaldatabase shown in FIG. 3, where the weights have been varied.

FIG. 7 shows a schematic representation of the consistent reproductionof varied weights from one generalization level to the next in ahierarchical database.

DETAILED DESCRIPTION

To explain how the method according to the present invention works, themapping of the real road grid by a digital database, i.e., map, and itsimplementation by a route finding algorithm are described in greaterdetail below with reference to FIGS. 1 through 4.

The mapping of a real road grid by a digital map can take the formillustrated, for example, in FIG. 1. The road grid is thus simplifiedmathematically and represented by a bipartite graph. On this graph,roadways are represented by directional route segments or edges (k_(i)).Nodes (n_(i)) describe the interconnections between street elements(intersections, highway junctions, etc.). These properties make itpossible to generate path descriptions for a network of this type. Withreference to the edge names and directions (edge vectors), a path isclearly described in the form of an edge list, starting from a definedstart element and ending with a specified destination element.

If we assign certain attributes (edge weights) to the network edges, analgorithmic method can be applied to a network of this kind to determinean optimum route from one current vehicle position (starting edge) to adesired destination (destination edge). A great variety of weights canbe assigned to the edges. The fact that the weight applied by thealgorithm can be derived from all edges in a database is of utmostimportance for the algorithm. Methods that achieve this object includeoptimized algorithms, such as those according to Ford or Moore. In thesimplest case, we can, for example, assign an edge whose own length isshown in the table according to FIG. 2 as an edge weight.

We next apply a specified route finding algorithm to a network of thistype, the goal of which is to determine an edge selection so that thefollowing statement applies to the located selection: “The sum of allapplied edge weights is the smallest of all other selectable edgesleading from the starting edge to the destination edge.” This methodthus selects the shortest possible connection between the starting anddestination edges, which is as follows for the example in FIG. 1:

k1→−k5→k8→−k10

Here, the signs indicate the travel direction for the predetermined edgevector (positive sign: same direction as the vector; negative sign:opposite direction from the vector).

In assigning attributes to edges, other interpretations can also be usedas weights. To determine the optimum path in relation to travel time,for example, we can assign travel times as weights to the edges. Theseare obtained from the corresponding edge length as well as from anassumed vehicle velocity on the segment elements (FIG. 3). For theexample in FIG. 3, the route finding algorithm applied above would adetermine the optimum route k₁→−k5→k6 with a minimum total travel timeof 25 seconds.

The layout of a digital map, i.e., database, is explained in greaterdetail below on the basis of FIG. 4. The overall scope of a digitaldatabase, and the performance of autonomous navigation systems limitedby the processor technology, generally means that a database of thistype (i.e., Germany) cannot be used in its entirety by a route findingalgorithm, but instead must be suitably divided into various regions.This division can be accomplished on multiple levels which describe theroad grid in different resolutions (FIG. 4). Each level, in turn,includes one or more subregions. An important characteristic of suchsubregions is that they cannot exceed a certain magnitude in terms ofnumber of graph elements. Thus, levels displaying the road grid in ahigher resolution contain correspondingly more subregions.

We can imagine the layout and use of a hierarchical digital databasemuch like an atlas map. The area covered by the database is divided intosubregions on individual pages at maximum resolution. References toadjacent pages establish the relationships between the pages. However, auser or an algorithmic method can generally only work with either onepage or a limited number of pages at a time. Further generalizedrepresentations in the form of overview maps (generalized levels of adigital database) are necessary to determine routes over greaterdistances.

The method according to the present invention makes it possible tosuitably vary the weighting of individual elements in the graph (i.e.,database) described above as a function of traffic events. It isimmaterial in this case whether the weighting to be manipulated isrepresented as edge and/or node weights on the graph. The edge weightingis described below by way of an example without limiting the presentinvention. The edge weights vary, for example, when traffic elements areprocessed. Any other possible effect that can be mapped onto the edgeweights can also be processed with this method.

All data needed to produce a consistent weight variation is completelysupplied by at least one data source. A data sink combines the datasupplied by the data source with the data in the database. A data sourcecan be, for example, a traffic report receiver, an event data bank,and/or a data bank for mapping traffic reports to the database, wherethe method for determining the database elements to be manipulated isindependent of the method according to the present invention. The datasink can be, for example, a traffic report data-processing softwareprogram in a navigation computer of the navigation system.

To vary the weight of a graph element, a declaration about the form ofweight variation is provided between the weight variation source and theprocessing sink. This declaration can be, for example, an eventclassification. In this case, the receiver identifies the traffic reportaccording to a defined rule. Defined weight variations are assigned tothe identifiers in the navigation system. However, the method accordingto the present invention also enables the weight variations to bedefined by the reports themselves. In this instance, the traffic reportsender specifies the weight variations. The navigation system thus doesnot store any weight variation data.

To apply the method, all relevant events are categorized into differentevent classes. One event class corresponds, for example, to a certaineffect on the assumed velocity, which is assigned to each edge elementon the digital map, as shown for example in FIG. 5.

A calculation equation for weighting an edge with travel time attributesis described in greater detail below as a particular embodiment. Todetermine the optimum path with regard to the travel time needed betweena starting edge and a destination edge, travel times are assigned asweights to the edges, like the assignment illustrated in FIG. 2. Traveltime t_(ki) of one edge is derived from edge length l_(ki) and assumedtravel velocity V(k_(i)) for this segment element: $\begin{matrix}{t_{k_{i}} = \frac{l_{k_{i}}}{V( k_{i} )}} & (I)\end{matrix}$

Function V(k_(i)) in this case assigns a velocity to present edgeelement i as a function of specific edge attributes (such as functionalroad class, regional assignment, etc.).

The velocity manipulates the edge weighting as follows. A classifiedtraffic event manipulates an edge element k_(i) by linearly varying itsassumed velocity V(k_(i)): $\begin{matrix}{t_{k_{i}}^{new} = {\frac{l_{k_{i}}}{V( k_{i} )} \cdot \frac{100}{\Delta \quad V_{c}}}} & ({II})\end{matrix}$

In this case, DV_(c) is a velocity variation caused by the externalevent on the edge, i.e., route segment k_(i). In the present overallnetwork, all other edge elements thus appear more “attractive” to aroute finding algorithm than the manipulated element. If we apply thisalgorithm to a manipulated network, the edge elements are evaluatedaccording to their new weighting and, after suitably manipulatingindividual elements, an alternative edge sequence, i.e., detour oralternative route, is determined in comparison to the one yielded byconventional methods.

In the sample network illustrated in FIG. 3, a route finding algorithmwould determine an edge sequence k1→−k5→−k6 with a total travel time of25 seconds as an optimum sequence for the shorter distance in timebetween the starting and destination edges. When suitably manipulated,for example with a traffic jam at edge element k5, the edge weight ofthis element changes from 10 seconds to 50 seconds, as shown in FIG. 6:$\begin{matrix}{t_{k_{5}}^{new} = {{\frac{l_{k_{5}}}{V( k_{5} )} \cdot \frac{1}{20\quad \%}} = {{10\quad {s \cdot \frac{1}{20\quad \%}}} = {50s}}}} & ({III})\end{matrix}$

Recalculating the optimum distance in time yields an alternative edgesequence of k1→−k2→−k3→−k6, with an assumed total travel time of 30seconds, as shown in FIG. 6.

A consistent edge weight variation is explained in greater detail belowin a hierarchical data model. The method described above to manipulateedge weightings in relation to a classified traffic event initiallyvaries edge weightings exclusively on a fixed network level. Thismanipulation thus takes place on only a single generalization level ofthe overall network (see FIG. 4, which illustrates a hierarchical layoutof a digital database). Because a route selection algorithm must be ableto use data from any generalization level, the edge weight configurationvaried by an external network effect is suitably also carried out on allother levels of varying generalization. The changes made on a particularlevel are equivalent, i.e., consistent, on all other levels.

FIG. 7 shows a specific network segment on different generalizationlevels. The higher the number of the generalization level, the rougherthe network resolution in this network representation of the digitalmap, i.e., database. The three edge elements shown in the example, k₁,k₂ and k₃ on the lowest generalization level are represented byindividual edge element k₅ on the highest generalization level. Ifmapping a classified event (according to equation II) for edge elementk₂ now produces a specific edge weight variation that loads 100 percentof the length of the element on this lowest generalization level, thismanipulation should have an effect in proportion to length on higherlevels only according to the present mapping rule (due to thegeneralization). Element k₅ on the next higher generalization level thusalso represents non-manipulated element k₃ on level 0 so that, whenvarying the edge weighting on level 1, the variation may include onlythe corresponding length component for edge k₂.

An additional attribute assignment that describes the effected lengthcomponent of the respective element as a function of the presentgeneralization level is therefore necessary for edge elements to bemanipulated. A corresponding factor is therefore suitably added to theedge weight variation rule described in equation (II):$t_{k_{i}}^{new} = {{t_{k_{i}}^{{new}{(1)}} - t_{k_{i}}^{{new}{(2)}}} = {( {\frac{l_{k_{i}}}{V( k_{i} )} \cdot \frac{100}{\Delta \quad V_{c}} \cdot \frac{\Delta \quad l_{levelj}}{100}} ) + ( {\frac{l_{k_{i}}}{V( k_{i} )} \cdot ( {1 - \frac{\Delta \quad l_{levelj}}{100}} )} )}}$

where D|_(Level j) is the length component as a percentage of overalledge length designating the proportionate manipulation on generalizationlevel j.

The method according to the present invention thus provides a universalmanipulation capability for a statically predefined edge and/or nodeweighting on a predefined digital map. Because the events to be takeninto account have an effect (event class) on this weighting that can bedefined independently of the database, a wide variety of manipulationsare conceivable. For example, traffic events such as traffic jams orstop-and-go traffic can lead to a deterioration on certain routesegments. An autonomous navigation system thus avoids a segment of thistype when assigned a poor weighting (such as a traffic jam on thehighway) and selects, for example, a better time alternative if it ispossible, for example, to take a detour via smaller road segments.

Further options include, for example, fully blocking certain routesegments in the specified network that correspond to a specificattribute assignment. For vehicles such as heavy freight trucks, adynamic navigation system of this type could automatically block routesegments which do not support a sufficient maximum vehicle weight. Acorrespondingly poor edge weighting can identify these segments asimpassable for a route finding algorithm, causing the driver to avoidthem according to the generated driving recommendations.

In addition, improvements to the edge weightings in the network are alsoconceivable to highlight certain routes, for example, and thus suitablymanipulate certain routes suggested by the system.

The method ensures a consistent mapping of manipulations in ahierarchical data model. This eliminates the need to adapt currentfundamental algorithms, such as for route finding and destinationguidance, since an external manipulation is not discernable for thesefunctions.

What is claimed is:
 1. A method for manipulating source data todetermine a route from a predetermined starting point to a predetermineddestination for a conveyance means, comprising the steps of: assigningweights (g_(i)) to predetermined route segments (k_(i)) and tocorresponding nodes (n_(i)) included in a digital database, the nodes(n_(i)) interconnecting respective route segments (k_(i)); varying theweights (g_(i)) as a function of external events; and determining aroute using a route finding algorithm, the algorithm taking the weights(g_(i)) into account.
 2. The method according to claim 1, wherein theconveyance means is a motor vehicle.
 3. The method according to claim 1,further comprising the steps of: supplying data from a data source; andprocessing the data in a data sink.
 4. The method according to claim 3,wherein the data sink is a traffic report data-processing softwareprogram in a navigation computer of a navigation system.
 5. A method formanipulating source data to determine a route from a predeterminedstarting point to a predetermined destination for a conveyance means,comprising the steps of: assigning weights (g_(i)) to predeterminedroute segments (k_(i)) and to corresponding nodes (n_(i)) included in adigital database, the nodes (n_(i)) interconnecting respective routesegments (k_(i)); varying the weights (g_(i)) as a function of externalevents; and determining a route using a route finding algorithm, thealgorithm taking the weights (g_(i)) into account and in a manner thatminimizes a sum of weights (g_(i)).
 6. A method for manipulating sourcedata to determine a route from a predetermined starting point to apredetermined destination for a conveyance means, comprising the stepsof: assigning weights (g_(i)) to predetermined route segments (k_(i))and to corresponding nodes (n_(i)) included in a digital database, thenodes (n_(i)) interconnecting respective route segments (k_(i)), whereinthe weights (g_(i)) assigned to nodes (n_(i)) are waiting times at therespective nodes; varying the weights (g_(i)) as a function of externalevents; and determining a route using a route finding algorithm, thealgorithm taking the weights (g_(i)) into account.
 7. A method formanipulating source data to determine a route from a predeterminedstarting point to a predetermined destination for a conveyance means,comprising the steps of: assigning weights (g_(i)) to predeterminedroute segments (k_(i)) and to corresponding nodes (n_(i)) included in adigital database, the nodes (n_(i)) interconnecting respective routesegments (k_(i)); varying the weights (g_(i)) as a function of externalevents; determining a route using a route finding algorithm, thealgorithm taking the weights (g_(i)) into account; supplying data from adata source, wherein the data source is at least one of a traffic reportreceiver, an event data bank and a data bank for mapping traffic reportsto the database; and processing the data in a data sink.
 8. A method formanipulating source data to determine a route from a predeterminedstarting point to a predetermined destination for a conveyance means,comprising the steps of: assigning weights (g_(i)) to predeterminedroute segments (k_(i)) and to corresponding nodes (n_(i)) included in adigital database, the nodes (n_(i)) interconnecting respective routesegments (k_(i)); varying the weights (g_(i)) as a function of externalevents; determining a route using a route finding algorithm, thealgorithm taking the weights (g_(i)) into account; supplying data from adata source; processing the data in a data sink; and classifying theexternal events for predetermined weight variations, by at least one ofthe data source and the data sink.
 9. A method for manipulating sourcedata to determine a route from a predetermined starting point to apredetermined destination for a conveyance means, comprising the stepsof: assigning weights (g_(i)) to predetermined route segments (k_(i))and to corresponding nodes (n_(i)) included in a digital database, thenodes (n_(i)) interconnecting respective route segments (k_(i)); varyingthe weights (g_(i)) as a function of external events; determining aroute using a route finding algorithm, the algorithm taking the weights(g_(i)) into account; and obtaining a varied weight t_(ki) ^(new)according to the following equation:${t_{k_{i}}^{new} = {\frac{l_{k_{i}}}{V( k_{i} )} \cdot \frac{100}{\Delta \quad V_{c}}}},$

 wherein each respective weight g_(i) is a travel time t_(ki) of theroute segment k_(i), V(k_(i)) is an assumed velocity for the routesegment k_(i), and ΔV_(c) is a variation in route segment velocitycaused by an external event.
 10. A method for manipulating source datato determine a route from a predetermined starting point to apredetermined destination for a conveyance means, comprising the stepsof: assigning weights (g_(i)) to predetermined route segments (k_(i))and to corresponding nodes (n_(i)) included in a digital database, thenodes (n_(i)) interconnecting respective route segments (k_(i)); varyingthe weights (g_(i)) as a function of external events; determining aroute using a route finding algorithm, the algorithm taking the weights(g_(i)) into account; and obtaining a varied weight t_(ki) ^(new)according to the following equation:$t_{k_{i}}^{new} = {{t_{k_{i}}^{{new}{(1)}} - t_{k_{i}}^{{new}{(2)}}} = {( {\frac{l_{k_{i}}}{V( k_{i} )} \cdot \frac{100}{\Delta \quad V_{c}} \cdot \frac{\Delta \quad l_{levelj}}{100}} ) + ( {\frac{l_{k_{i}}}{V( k_{i} )} \cdot ( {1 - \frac{\Delta \quad l_{levelj}}{100}} )} )}}$

 wherein the weight g_(i) is a travel time t_(ki) of the route segmentk_(i), where the database has a hierarchical layout, V(k_(i)) is anassumed velocity for the route segment k_(i), ΔV_(c) is a variation inroute segment velocity caused by an external event, and Δl_(levelj) is alength. percentage of overall edge length designating a proportionatemanipulation on ageneralization level j of the hierarchical database.11. A method for manipulating source data to determine a route from apredetermined starting point to a predetermined destination for aconveyance means, comprising the steps of: assigning weights (g_(i)) topredetermined route segments (k_(i)) or to corresponding nodes (n_(i))included in a digital database, the nodes (n_(i)) interconnectingrespective route segments (k_(i)); varying the weights (g_(i)) as afunction of external events; and determining a route using a routefinding algorithm, the algorithm taking the weights (g_(i)) intoaccount.
 12. The method according to claim 11, wherein the algorithmtakes the weights (g_(i)) into account in a manner than minimizes a sumof weights (g_(i)).
 13. The method according to claim 11, wherein theweights (g_(i)) assigned to nodes (n_(i)) are waiting times at therespective nodes.